package com.itlong.cloud.operate.service;


import com.itlong.cloud.POJO.DTO.operate.InterfaceDTO;
import com.itlong.cloud.POJO.PO.InterfacePO;
import com.itlong.cloud.POJO.VO.operate.InterfaceVO;
import com.itlong.cloud.utils.page.Page;

import java.util.List;


/**
 * 运营-接口类型-接口抽象类
 */
public interface IOperateInterfaceService {
    /**
     * 添加接口
     * @param interfacePO
     * @return
     * createTime2021.8.2
     */
    Integer save(InterfacePO interfacePO) throws Exception;

    /**
     * 更新接口
     * @param interfacePO
     * @return
     * createTime2021.8.2
     */
    Integer update(InterfacePO interfacePO) throws Exception;

    /**
     * 删除接口
     * @param interfaceId
     * @param updateUserId
     * @return
     * @throws Exception
     */
    Integer delete(String interfaceId,String updateUserId) throws Exception;

    /**
     * 查询接口列表
     * @return
     */
    List<InterfacePO> getList(String interfaceName, int status, String startTime, String endTime) throws Exception;

    /**
     * 分页-条件-查询
     * @param interfaceDTO
     * @return
     * @throws Exception
     */
    Page<InterfaceVO> getInterfacePageList(InterfaceDTO interfaceDTO) throws Exception;


    /**
     * 更新状态-禁用/启用
     * @param interfaceId 接口id
     * @param status 接口状态
     * @param updateUserId 更新者id
     * @return
     * @throws Exception
     */
    Integer updateStatus(String interfaceId,int status,String updateUserId)throws Exception;

    /**
     * 修改接口文档
     * @param interfaceId 接口id
     * @param interfaceDocx 接口文档
     * @param updateUserId 修改用户id
     * @return
     * @throws Exception
     */
    Integer updateDocx(String interfaceId,String interfaceDocx,String updateUserId) throws Exception;
}
